home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Dev / Obrn-A_1.6_bin.lha / oberon-a / docs.lha / docs / ErrorCodes.doc < prev    next >
Text File  |  1995-07-02  |  10KB  |  248 lines

  1.  
  2.      $RCSfile: ErrorCodes.doc $
  3.   Description: Error codes output by the Oberon-A compiler
  4.  
  5.    Created by: fjc (Frank Copeland)
  6.     $Revision: 5.1 $
  7.       $Author: fjc $
  8.         $Date: 1995/01/25 23:37:49 $
  9.   ________________________________________________________________________
  10.  
  11.  
  12.   1: Undeclared identifier
  13.   2: Multiply defined identifier
  14.   3: Illegal character in number
  15.   4: Illegal character in string
  16.   5: Identifier does not match procedure name
  17.   6: Comment not closed
  18.   10: "=" expected
  19.   11: Identifier expected
  20.   13: Type definition starts with incorrect symbol
  21.   14: Factor starts with incorrect symbol
  22.   15: Statement starts with incorrect symbol
  23.   16: Declaration followed by incorrect symbol
  24.   17: MODULE expected
  25.   18: Integer constant expected
  26.   19: "." missing
  27.   20: "," missing
  28.   21: ":" missing
  29.   23: ")" missing
  30.   24: "]" missing
  31.   25: "}" missing
  32.   26: OF missing
  33.   27: THEN missing
  34.   28: DO missing
  35.   29: TO missing
  36.   30: "(" missing
  37.   34: ":=" missing
  38.   35: "," or OF expected
  39.   39: ";" missing
  40.   41: END missing
  41.   44: UNTIL missing
  42.   46: EXIT not within loop statement
  43.   47: Object must be global
  44.   48: Illegally marked identifier
  45.   49: Forward declared pointer unsatisfied
  46.   50: Attempting to import self
  47.   51: Expression should be constant
  48.   52: Constant not an integer
  49.   53: Identifier does not denote a type
  50.   54: Identifier does not denote a record type
  51.   55: Result type of procedure is not a basic type
  52.   56: Procedure call of a function
  53.   57: Assignment to non-variable
  54.   58: Pointer not bound to record or array type
  55.   59: Recursive type definition
  56.   60: Illegal open array parameter
  57.   61: Wrong type of case label
  58.   62: Inadmissible type of case label
  59.   63: Case label defined more than once
  60.   64: Index out of bounds
  61.   65: More actual than formal parameters
  62.   66: Fewer actual than formal parameters
  63.   67: Element types of actual array and formal open array differ
  64.   68: Actual parameter corresponding to open array is not an array
  65.   69: Array bound out of range
  66.   82: Index out of specified bounds
  67.   83: Object being indexed is not an array
  68.   84: Undefined record field
  69.   85: Dereferenced variable is not a pointer
  70.   86: Guard or test type is not an extension of variable type
  71.   87: Guard or test type is not a pointer
  72.   88: Guarded or tested variable is neither a pointer nor a VAR-parameter record
  73.   92: x IN y : constant x is out of range (0 <= p < 32)
  74.   93: Operand of IN not an integer, or not a set
  75.   94: Set element type is not an integer
  76.   95: Operand of & is not of type BOOLEAN
  77.   96: Operand of OR is not of type BOOLEAN
  78.   97: Operand not applicable to (unary) +
  79.   98: Operand not applicable to (unary) -
  80.   99: Operand of ~ is not of type BOOLEAN         
  81.   101: Incompatible operands of dyadic operator
  82.   102: Operand type inapplicable to *
  83.   103: Operand type inapplicable to /
  84.   104: Operand type inapplicable to DIV
  85.   105: Operand type inapplicable to MOD
  86.   106: Operand type inapplicable to +
  87.   107: Operand type inapplicable to -
  88.   108: Operand type inapplicable to = or #
  89.   109: Operand type inapplicable to relation      
  90.   110: Arithmetic overflow in constant expression
  91.   111: Operand is not a type
  92.   112: Operand inapplicable to (this) function
  93.   113: Operand is not a variable
  94.   114: Incompatible assignment
  95.   115: String too long to be assigned
  96.   116: Parameter doesn't match
  97.   117: Number of parameters doesn't match
  98.   118: Number of parameters doesn't match
  99.   119: Result type doesn't match
  100.   120: Procedure is not assignable
  101.   121: Type of expression following IF, WHILE, UNTIL, or ASSERT is not BOOLEAN
  102.   122: Called object is not a procedure (or is an interrupt procedure)
  103.   123: Actual VAR-parameter is not a variable
  104.   124: Type of actual parameter is not identical with that of formal VAR-parameter
  105.   125: Type of result expression differs from that of procedure
  106.   126: Type of case expression is neither INTEGER nor CHAR
  107.   127: Illegal mode of operand
  108.   128: Illegal mode of addressed operand
  109.   130: Forward declared procedure not implemented
  110.   131: WITH clause does not specify a variable
  111.   132: LEN not applied to array
  112.   133: Dimension in LEN too large or negative
  113.   151: Key inconsistency of imported module
  114.   152: Incorrect symbol file
  115.   153: Symbol file of imported module not found
  116.   154: Object or symbol file not opened (disk full?)
  117.   156: Generation of new symbol file not allowed
  118.   157: String in symbol file
  119.   158: Symbol file tag illegal
  120.   203: Set element greater than MAX(SET) or less than 0
  121.   204: Number too large
  122.   206: Division by zero
  123.   210: Too much variable space needed
  124.   213: Buffer for identifiers and strings full
  125.   215: Too many exit statements
  126.   216: Not enough registers: simplify expression
  127.   217: Object is not a register item
  128.   220: Illegal value of parameter  (0 <= p < 15)
  129.   222: String cannot be exported / too many pointers in a record
  130.   225: Too many pointer types
  131.   227: Too many exported procedures
  132.   228: Too many imported modules
  133.   229: Too many exported structures
  134.   230: Too many nested records for import
  135.   231: Too many constants (strings) in module
  136.   232: Code buffer overflow
  137.   234: Type descriptor buffer overflow
  138.   235: Too many external libraries
  139.   301: Parameter must be an exportable procedure or procedure variable
  140.   302: Procedure must be paramaterless and typeless
  141.   303: Parameter must be a procedure variable
  142.   304: Library procedure must have a receiver parameter.
  143.   305: Library procedure receiver cannot be VAR parameter.
  144.   306: Receiver cannot be an imported type.
  145.   307: Receiver type must be a pointer type.
  146.   308: Receiver type must be a record type.
  147.   309: Receiver type must be a C pointer type.
  148.   311: Name buffer overflow
  149.   312: Library procedure cannot be used in this manner
  150.   313: Global variables too large to zero (> 260kB)
  151.   314: Union type cannot have a base type
  152.   315: Control variable of FOR loop must be an integer type
  153.   316: Start and end values of FOR loop must be integers
  154.   317: Step value of FOR loop must be non-zero
  155.   318: Start, end or step value(s) too large for control variable of FOR loop
  156.   319: Sign of step value is wrong for given start and end values.
  157.   320: ASSERT (x,n): constant x evaluates to FALSE, should be HALT (n)
  158.   321: ASSERT (x,n): constant x evaluates to TRUE, statement is meaningless
  159.   323: Illegal mode in array index calculation
  160.   324: Cannot alias imported strings > 1 character
  161.   325: Operations that modify read-only variables are not allowed
  162.   326: Open arrays are restricted to pointer base types, element types of open arrays and formal parameter types
  163.   327: CPointers and BPointers to open arrays are not yet implemented
  164.   328: Control variable must be a simple variable local to the procedure or module
  165.   329: Integer expression expected
  166.   330: Type-bound procedure has the same name as a record field
  167.   331: Redefined procedure must be exported
  168.   332: Cannot assign a type-bound procedure
  169.   333: Super-call only allowed for receiver parameter
  170.   334: Super-call not defined for base type
  171.   335: Module name too long (limit 26 characters)
  172.   336: RETURN statement missing in function procedure
  173.   337: Parameter cannot be a vararg
  174.   338: Vararg parameter must be the last parameter
  175.   339: Parameter does not denote a traced pointer or record type
  176.   340: SYSTEM.NEW cannot be used to allocate this type, use NEW instead
  177.   341: Formal parameter must include a register specification
  178.   342: Cannot assign a foreign procedure
  179.   343: External name (string) expected
  180.   344: Foreign procedures and LibCalls cannot be forward declared
  181.   345: Foreign procedure cannot be bound to a type
  182.   346: Cannot copy open arrays when SaveAllRegs is set
  183.   347: Illegal character in in-line command
  184.   348: Unrecognised in-line command
  185.   349: Pragma or option specifier ["+"|"-"] missing.
  186.   350: Pragma stack empty
  187.   351: ELSIF, ELSE or END without matching IF
  188.   352: Pragmas and options are not interchangeable
  189.   353: Variable cannot be used as a base for a LibCall
  190.   354: Illegal value for system flag
  191.   355: Traced type cannot extend untraced type, and vice-versa
  192.   356: Untraced record cannot contain traced fields
  193.   357: Tagged type not allowed
  194.   358: Options not permitted after MODULE keyword
  195.   901: Not implemented yet
  196.   902: Register parameters only allowed in LibCall procedure
  197.   903: Illegal type for register specification
  198.   904: Illegal register number
  199.   905: Parameter type is too big for register
  200.   906: LibCallSpec only allowed for library procedure
  201.   907: Function offset must be integer
  202.   908: Library base variable must be pointer type
  203.   916: Language extensions not allowed when STANDARD option is OFF
  204.   917: String constants not allowed when createObj switch is off
  205.   918: Tagged record types not allowed when createObj switch is off
  206.   919: Variables not allowed when createObj switch is off
  207.   920: Procedure or module body not allowed when createObj switch is off
  208.   921: Cannot import module with object code when createObj switch is off
  209.   923: Too many search paths specified
  210.   924: Feature not properly tested
  211.   925: Underscores in identifiers not permitted when STANDARD option is on
  212.   951: Internal error -
  213.   952: attempt to free an unused register
  214.   953: illegal reference type
  215.   954: wrong number of operands for opcode
  216.   955: address alignment error
  217.   956: branch too large
  218.   957: addressing mode error
  219.   958: data size error
  220.   959: error in operand
  221.   960: illegal reference size specified
  222.   961: block length must be a constant
  223.   962: patching past end of code buffer
  224.   963: addressing string not in constant buffer
  225.   964: no pointer to open array descriptor
  226.   965: reference name missing
  227.   966: type-bound procedure missing
  228.   967: dereferencing NIL pointer
  229.   968: procedure return overlaps allocated registers
  230.   1001: Internal error - unrecognised case in CASE statement:
  231.   1002: OCS.Get
  232.   1003: OCT.Import / CASE obj.typ.form
  233.   1004: OCT.Import / CASE class (far inner)
  234.   1005: OCT.Import / CASE class (inner)
  235.   1006: OCT.Import / CASE class (outer)
  236.   1007: OCT.OutStr
  237.   1008: OCT.OutObj
  238.   1009: OCC.PutArg
  239.   1010: OCE.RealMath
  240.   1011: OCE.MOp
  241.   1012: OCE.CheckOverflow
  242.   1013: OCE.Op / CASE f
  243.   1014: OCE.Op / CASE op
  244.   1015: OCP.StPar1
  245.   1016: OCP.StPar2
  246.   1017: OCH.Assign
  247.  
  248.